package cm.wc.Dao;

import cm.wc.domain.Book;

import java.sql.SQLException;
import java.util.List;

/**
 * @ClassName:BookDao
 * @Author: 鹿建文
 * @Date: 2022/3/30  - 15:40
 * @Describe:
 */
public interface BookDao {
      /**
       * 增加图书
       * @param book
       * @return 影响行数
       * @throws SQLException
       */
      int insertBook(Book book) throws SQLException;

      /**
       * 修改图书
       * @param book
       * @return 影响行数
       * @throws SQLException
       */
      int updateBook(Book book) throws SQLException;

      /**
       * 通过 id 删除图书
       * @param id
       * @return影响行数
       * @throws SQLException
       */
      int deletetBook(Integer id) throws SQLException;

      /**
       * 输出所有图书
       * @return   list
       * @throws SQLException
       */
      List<Book>selectAll() throws SQLException;

      /**
       * 分页查询
       * @param pageNum
       * @param pageSize
       * @return list
       * @throws SQLException
       */
      List<Book>selectAll(Integer pageNum,Integer pageSize) throws SQLException;

      /**
       * 通过书名查询图书
       * @param name
       * @return
       * @throws SQLException
       */
      List<Book>selectBooksByName(String name) throws SQLException;

      /**
       * 模糊查询， 通过书名查询图书
       * @param name
       * @return
       * @throws SQLException
       */
      List<Book>selectBooksByNameLike(String name) throws SQLException;

      /**
       * 通过id查询图书
       * @param id
       * @return
       * @throws SQLException
       */

      List<Book>  selectBookById(Integer id) throws SQLException;
}
